package com.competition.param.impl;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import com.admin.param.contract.IStaffAddParam;
import com.competition.web.constant.ValidateCondtionAndMessage;

public class StaffAddParam implements IStaffAddParam {// 员工名称
	@NotNull
	@Pattern(regexp = ValidateCondtionAndMessage.CHINESE_ENGLISH_NUMBER_UNDERLINE_BY_SERIESDESCRIPTION, message = ValidateCondtionAndMessage.CHINESE_ENGLISH_NUMBER_UNDERLINE_BY_SERIESDESCRIPTION_MSG)
	private String staffName;
// 地区id
	@NotNull
	@Min(value = ValidateCondtionAndMessage.MIN_ID, message = ValidateCondtionAndMessage.MIN_ID_MSG)
	private Integer areaId;
// 地区名称（冗余）
	private String areaName;
// 新人 0 否 1是
	@NotNull
	@Min(value = ValidateCondtionAndMessage.MIN_STATUS, message = ValidateCondtionAndMessage.MIN_STATUS_MSG)
	@Max(value = ValidateCondtionAndMessage.MAX_STATUS, message = ValidateCondtionAndMessage.MAX_STATUS_MSG)
	private Byte newPeople;

	// 离职 0 否 1 是
	@NotNull
	@Min(value = ValidateCondtionAndMessage.MIN_STATUS, message = ValidateCondtionAndMessage.MIN_STATUS_MSG)
	@Max(value = ValidateCondtionAndMessage.MAX_STATUS, message = ValidateCondtionAndMessage.MAX_STATUS_MSG)
	private Byte depart;

	 /**
     * 请假开始时间
     */
	@Min(value = ValidateCondtionAndMessage.ZERO, message = ValidateCondtionAndMessage.ZERO_MSG)
    private Long leaveStart = 0L;
    
    /**
     * 请假结束时间
     */
	@Min(value = ValidateCondtionAndMessage.ZERO, message = ValidateCondtionAndMessage.ZERO_MSG)
    private Long leaveEnd = 0L;

	// 职责 0 前道 1 后道
	@NotNull
	@Min(value = ValidateCondtionAndMessage.MIN_STATUS, message = ValidateCondtionAndMessage.MIN_STATUS_MSG)
	@Max(value = ValidateCondtionAndMessage.MAX_STATUS, message = ValidateCondtionAndMessage.MAX_STATUS_MSG)
	private Byte post;

	// 家庭地址
	@NotNull
	@Pattern(regexp = ValidateCondtionAndMessage.CHINESE_ENGLISH_NUMBER_UNDERLINE_BY_SERIESDESCRIPTION, message = ValidateCondtionAndMessage.CHINESE_ENGLISH_NUMBER_UNDERLINE_BY_SERIESDESCRIPTION_MSG)
	private String homeAddress;
	
	/**
	 * 经度
	 */
	private Double latitude;
	
	/**
	 * 纬度
	 */
	private Double longitude;
	
	/**
	 * 城市 id
	 */
	@NotNull
	@Min(value = ValidateCondtionAndMessage.MIN_ID, message = ValidateCondtionAndMessage.MIN_ID_MSG)
	private Integer cityId;
	
	/**
	 * 县区id
	 */
	private Integer countiesId = 0;
	
	private String cityName;
	
	private String countiesName;
	
	public String getCityName() {
		return cityName;
	}

	public void setCityName(String cityName) {
		this.cityName = cityName;
	}

	public String getCountiesName() {
		return countiesName;
	}

	public void setCountiesName(String countiesName) {
		this.countiesName = countiesName;
	}

	public Integer getCityId() {
		return cityId;
	}

	public void setCityId(Integer cityId) {
		this.cityId = cityId;
	}

	public Integer getCountiesId() {
		return countiesId;
	}

	public void setCountiesId(Integer countiesId) {
		this.countiesId = countiesId;
	}

	public Double getLatitude() {
		return latitude;
	}

	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}

	public Double getLongitude() {
		return longitude;
	}

	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}

	public Byte getPost() {
		return post;
	}

	public void setPost(Byte post) {
		this.post = post;
	}

	public String getStaffName() {
		return staffName;
	}

	public void setStaffName(String staffName) {
		this.staffName = staffName == null ? null : staffName.trim();
	}

	public Integer getAreaId() {
		return areaId;
	}

	public void setAreaId(Integer areaId) {
		this.areaId = areaId;
	}

	public String getAreaName() {
		return areaName;
	}

	public void setAreaName(String areaName) {
		this.areaName = areaName == null ? null : areaName.trim();
	}

	public Byte getNewPeople() {
		return newPeople;
	}

	public void setNewPeople(Byte newPeople) {
		this.newPeople = newPeople;
	}

	public Byte getDepart() {
		return depart;
	}

	public void setDepart(Byte depart) {
		this.depart = depart;
	}


	public String getHomeAddress() {
		return homeAddress;
	}

	public void setHomeAddress(String homeAddress) {
		this.homeAddress = homeAddress == null ? null : homeAddress.trim();
	}

	public Long getLeaveStart() {
		return leaveStart;
	}

	public void setLeaveStart(Long leaveStart) {
		this.leaveStart = leaveStart;
	}

	public Long getLeaveEnd() {
		return leaveEnd;
	}

	public void setLeaveEnd(Long leaveEnd) {
		this.leaveEnd = leaveEnd;
	}
}